return {
  "stevearc/conform.nvim",

  opts = {
    formatters_by_ft = {
      lua = { "stylua" },
      fish = { "fish_indent" },
      sh = { "shfmt" },
      javascript = { "prettier", "eslint" },
    },
    -- The options you set here will be merged with the builtin formatters.
    -- You can also define any custom formatters here.
    ---@type table<string, conform.FormatterConfigOverride|fun(bufnr: integer): nil|conform.FormatterConfigOverride>
    formatters = {
      injected = { options = { ignore_errors = true } },
      -- only prettier in when there is a prettier config file
      prettier = {
        -- cwd means "config working directory"
        require_cwd = true,

        cwd = require("conform.util").root_file({
          ".prettierrc",
          ".prettierrc.json",
        }),
      },
    },
  },
}
